package com.wzcl.app.model.common;


public interface WZCL{



    interface GROUP_NAME{
        String STATE = "STATE";
        String ORDER_STATE = "ORDER_STATE";
        String COURSE_STATE = "COURSE_STATE";
        String HARD_LEVEL = "HARD_LEVEL";
        String USER_STATE = "USER_STATE";
        String GRADE_TYPE = "GRADE_TYPE";
        String USER_TYPE = "USER_TYPE";
        String PAY_STATE = "PAY_STATE";
        String PAY_TYPE = "PAY_TYPE";
        String DELIVERY_STATE = "DELIVERY_STATE";
        String FILE_TYPE = "FILE_TYPE";
        String AUDIT_STATE = "AUDIT_STATE";
        String ACTIVITY_TYPE = "ACTIVITY_TYPE";
        String ACTIVITY_STATE = "ACTIVITY_STATE";
        String ACTIVITY_PROMOTION_TYPE = "ACTIVITY_PROMOTION_TYPE";
        String ACTIVITY_FULL_CUT_TYPE = "ACTIVITY_FULL_CUT_TYPE";
        String ACTIVITY_RULE_TARGET = "ACTIVITY_RULE_TARGET";
        String ACTIVITY_RULE_INFO_PROPERTY = "ACTIVITY_RULE_INFO_PROPERTY";
        String ACTIVITY_RULE_INFO_COMPARE = "ACTIVITY_RULE_INFO_COMPARE";
        String OPERATOR_RULE = "OPERATOR_RULE";
        String COMMODITY_TYPE = "COMMODITY_TYPE";
        String COURSE_TYPE = "COURSE_TYPE";
        String MATERIAL_TYPE = "MATERIAL_TYPE";
        String TEACHER_POSITION = "TEACHER_POSITION";
        String ACTIVITY_SCOPE = "ACTIVITY_SCOPE";
        String FEEDBACK_TYPE = "FEEDBACK_TYPE";
        String SCHEDULE = "SCHEDULE";
        String VIDEO_RESOURCE_TYPE = "VIDEO_RESOURCE_TYPE";
        String VIDEO_CHARGE_TYPE = "VIDEO_CHARGE_TYPE";
        String TOPIC_TYPE = "TOPIC_TYPE";
    }

    //状态
    interface STATE {
        Integer NOT_DELETE = 0;    //未删除
        Integer IS_DELETE = 1;    //已删除
    }

    //订单状态
    interface ORDER_STATE {
        Integer PROCESSING = 0; //订单打开
        Integer CANCELLED = 1;  //订单取消
        Integer CLOSED = 2;     //订单关闭
        Integer COMPLETED = 3;  //订单完成
    }

    //课程状态
    interface COURSE_STATE {
        Integer NOT_START = 0;  //未开始
        Integer PROCESSING = 1;  //进行中
        Integer OVER = 2;        //已结束
    }

    //难度系数
    interface HARD_LEVEL {
        Integer ONE_LEVEL = 1; //一星
        Integer TWO_LEVEL = 2; //二星
        Integer THREE_LEVEL = 3; //三星
        Integer FOUR_LEVEL = 4; //四星
        Integer FIVE_LEVEL = 5; //五星
    }

    //用户状态
    interface USER_STATE {
        Integer EFFECTIVE = 0; //生效
        Integer INVALID = 1;   //失效
    }

    //年级类型
    interface GRADE_TYPE {
        Integer NURSERY_SCHOOL = 0;       //幼儿园
        Integer PRIMARY_SCHOOL = 1;       //小学
        Integer JUNIOR_HIGH_SCHOOL = 2;   //初中
        Integer HIGH_SCHOOL = 3;          //高中
    }

    //用户类型
    interface USER_TYPE {
        Integer ADMIN = 1;      //管理员
        Integer TEACHER = 2;    //老师
        Integer STUDENT = 3;    //学生
    }

    //支付状态
    interface PAY_STATE {
        Integer UNPAID = 0;               //未支付
        Integer PAID = 1;                 //已支付
        Integer PAY_FAIL = 2;             //支付失败
        Integer BE_REFUND = 3;            //待退款
        Integer REFUNDED = 4;             //已退款
        Integer PAID_FOR_GROUP = 5;       //待成团
    }

    //支付类型
    interface PAY_TYPE {
        Integer AlI_PAY = 0;   //支付宝
        Integer WX_PAY = 1;    //微信
        Integer FREE = 99;    //微信
    }

    //快递状态
    interface DELIVERY_STATE {
        Integer INITIAL = 0;  //初始状态
        Integer BE_DELIVER = 1;  //待发货
        Integer BE_RECEIVED = 2;  //待收货
        Integer RECEIVED = 3;  //已收货
        Integer RETURNS_BE_RECEIVED = 4;  //退货-商家待收货
        Integer RETURNS_RECEIVED = 5;  //退货-商家已收货
    }

    //文件类型
    interface FILE_TYPE{
        Integer TXT = 0;  //文本
        Integer IMAGE = 1;  //图片
        Integer VOICE = 2;  //音频
        Integer VIDEO = 3;  //视频
    }
    //直播间状态
    interface ROOM_STATE{
        Integer OFF = 0;  //关闭
        Integer ON = 1;  //开启直播
        Integer DISABLE = 2; //禁播
        Integer READY = 3; //准备中
    }

    //审核状态
    interface AUDIT_STATE{
        Integer PENDING = 0; //待审核
        Integer PASSED = 1; //审核通过
        Integer REJECTED = 2; //审核驳回
    }

    //活动类型
    interface ACTIVITY_TYPE{
        Integer SINGLE = 0; //单品促销
        Integer FULL_CUT = 1; //满减
        Integer SECKILL = 2;//秒杀
        Integer GROUP = 3;//拼团
    }

    //活动状态
    interface ACTIVITY_STATE{
        Integer NOT_ONLINE = 0; //未开始
        Integer ONLINE = 1; //已上线
        Integer OFFLINE = 2; //下线
        Integer BE_ONLINE = 3; //预上线
    }

    //折扣类型
    interface ACTIVITY_PROMOTION_TYPE{
        Integer RATED = 0; //指定
        Integer AMOUNT = 1; //数量
        Integer DISCOUNT = 2; //折扣
    }

    //满减类型
    interface ACTIVITY_FULL_CUT_TYPE{
        Integer FULL_CUT = 0; //满减
        Integer EVERY_FULL_CUT = 1; //每满减
        Integer LADDER_FULL_CUT = 2; //梯级满减
    }


    //活动规则作用对象(可扩展)
    interface ACTIVITY_RULE_TARGET{
        Integer USER_GROUP = 1; //指定的用户组
    }

    //活动规则作用对象的属性(可扩展)
    interface ACTIVITY_RULE_INFO_PROPERTY{
        Integer SELF = 0; //对象本身
        Integer SIZE = 1; //大小
    }

    //活动规则作用对象比较方式(可扩展)
    interface ACTIVITY_RULE_INFO_COMPARE{
        Integer MORE = 0; //大于
        Integer LESS = 1; //小于
        Integer EQUAL = 2;//等于
        Integer MORE_OR_EQUAL = 3;//大于等于
        Integer LESS_OR_EQUAL = 4;//小于等于
        Integer CONTAIN = 5; //包含
        Integer EXCLUDE = 6; //排除
    }
    //运算法则
    interface OPERATOR_RULE{
        Integer ADD = 1;    //加
        Integer SUBTRACT = 2; //减
        Integer MULTIPLY = 3; //乘
        Integer DIVIDE = 4;  //除
    }

    //产品类型
    interface COMMODITY_TYPE{
        Integer COURSE = 1;    //课程
        Integer MATERIAL = 2;    //物品
    }

    //课程类型
    interface COURSE_TYPE{
        Integer  TONG_BU = 1 ;//同步课
        Integer  ZHUAN_TI= 2 ;//专题课
        Integer  ONE_TO_ONE = 3 ;//一对一
        Integer  ZHI_BO = 4 ;//直播课
        Integer  MING_SHI = 5 ;//名师课
        Integer  PING_TUAN = 6 ;//拼团课
        Integer  RE_MEN = 7 ;//热门体验课
        Integer  JING_XUAN = 8 ;//精选课
        Integer  GONG_KAI = 9 ;//公开课
    }

    //作用范围
    interface ACTIVITY_SCOPE{
        Integer  SINGLE = 1 ;//单品
        Integer  CONTAIN= 2 ;//含有活动的商品集
        Integer  PAY = 3 ;//整单
    }

    //反馈类型
    interface FEEDBACK_TYPE{
        Integer  COMPLAINT = 1 ;//投诉
        Integer  OPINION= 2 ;//建议
        Integer  FAULT = 3 ;//故障

        Integer  OTHER = 9 ;//其他
    }

    //反馈进度
    interface SCHEDULE{
        Integer  SUBMIT = 1 ;//已提交
        Integer  PROCESSING = 2 ;//处理中
        Integer  BE_CONFIRM = 3 ;//待确认
        Integer  END = 4 ;//已结束
    }

    //视频资源的资源类型
    interface VIDEO_RESOURCE_TYPE{
        Integer COURSE = 0;//课程
        Integer COURSE_POINT = 1;//课程大纲
    }

    //视频资源的收费类型
    interface VIDEO_CHARGE_TYPE{
        Integer  FREE = 0 ;//免费
        Integer  CHARGE = 1 ;//收费
    }

    //题目类型
    interface TOPIC_TYPE{
        Integer  SINGLE_CHOICE = 0 ;//单择题
        Integer  MULTIPLE_CHOICE = 1 ;//多选题
        Integer  JUDGMENT = 2 ;//判断题
        Integer  FILL_BLANK = 3 ;//填空题
        Integer  SOLUTION = 4 ;//解答题
        Integer  QA = 5 ;//问答题
        Integer  MODERN_READING = 6 ;//现代文阅读
        Integer  CLASSICAL_CHINESE_READING = 7 ;//文言文阅读
        Integer  ANCIENT_POETRY_READING = 8 ;//古诗文阅读
        Integer  COMPREHENSION_READING = 9 ;//阅读理解
        Integer  CLOZE = 10 ;//完形填空
        Integer  GRAMMAR_FILL_BLANK = 11 ;//语法填空
    }

    //订单类型
    interface ORDER_TYPE {
        String COMMON = "COMMON";//普通订单
        String SECKILL = "SECKILL";//秒杀订单
        String GROUP = "GROUP";
    }

    interface ATTRIBUTE_TYPE {
        Integer PROPERTY = 1;//属性
        Integer VALUE = 2;//值
    };

    //拼团的状态
    interface GROUP_STATE {
        Integer PROCESSING = 0;//进行中
        Integer EXPIRED = 1;//过期
        Integer SUCCESS = 2;//成功
    };




    //快递100：快递公司编码
    //快递公司编号
    enum DELIVERY_COMPANY {
        JINGDONG("jd", "京东"),
        SHUNFENG("shunfeng", "顺丰"),
        SHENTONG("shentong", "申通"),
        YUANTONG("yuantong", "圆通"),
        ZHONGTONG("zhongtong", "中通"),
        YUNDA("yunda", "韵达"),
        ZHAIJISONG("zhaijisong", "宅急送"),
        TIANTIAN("tiantian", "天天"),
        HUITONG("huitongkuaidi", "百世汇通"),
        BAISHIWULIU("baishiwuliu", "百世物流"),
        DEBANG("debangwuliu", "德邦"),
        GUOTONG("guotongkuaidi", "国通"),
        ZHENGYI("zengyisudi", "增益"),
        SUER("suer", "速尔"),
        NENGDA("ganzhongnengda", "能达"),
        YOUSU("youshuwuliu", "优速"),
        QUANFENG("quanfengkuaidi", "全峰"),
        ZHONGTIE("ztky", "中铁物流"),
        ZHONGTIE2("zhongtiewuliu", "中铁快运"),
        EMS("ems", "邮政");

        String value;
        String desc;

        DELIVERY_COMPANY(String value, String desc) {
            this.value = value;
            this.desc = desc;
        }

        public static DELIVERY_COMPANY getByValue(String value) {
            DELIVERY_COMPANY[] values = values();
            for (DELIVERY_COMPANY delivery_company : values) {
                delivery_company.value.equals(value);
                return delivery_company;
            }
            return null;
        }

        public String getValue() {
            return value;
        }

        public String getDesc() {
            return desc;
        }
    }



}
